home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr29 / umsmtp02.zip / SENDMAIL.TXT < prev    next >
Text File  |  1995-02-05  |  23KB  |  597 lines

  1. ******************************************************************************
  2. File: sendmail.txt                       Version 2.0               05-Feb-1995
  3.                                          Niel Kempson <kempson@snowyowl.co.uk>
  4. ******************************************************************************
  5.  
  6.  
  7. Configuring sendmail for use with the Warp Internet Access Kit
  8. ==============================================================
  9.  
  10.  
  11. Contents
  12. --------
  13.  
  14.      1. Introduction
  15.      2. Assumptions
  16.      3. Configuring sendmail
  17.         3.1 Delivering mail to UltiMail/2
  18.         3.2 Delivering mail to LAMail
  19.      4. The HOSTS file
  20.      5. Sendmail aliases
  21.      6. Running the sendmail daemon
  22.      7. Testing your sendmail setup
  23.      8. Sendmail error codes
  24.      9. Frequently encountered problems (FEPs)
  25.     10. What if it still doesn't work ?
  26.     11. Useful references
  27.     12. Change log
  28.  
  29.  
  30.  
  31. 1. Introduction
  32. ---------------
  33.  
  34. Please make sure that you have read the accompanying file 00README.TXT
  35. which explains the purpose of this kit.
  36.  
  37. The critical link in the SMTP chain is the sendmail.exe program.  It
  38. delivers outgoing messages using SMTP and also acts as a server waiting
  39. for incoming messages.  This document tells describes how to configure
  40. sendmail to work on your Warp/IAK system to exchange mail with the
  41. outside world using SMTP.
  42.  
  43. The instructions are by no means comprehensive and they are probably
  44. unclear in places so please feed back any constructive suggestions
  45. (including typos) so that I can improve this kit.  All of the information
  46. in this guide has been gleaned from books, examination of binary files
  47. etc.  There's nothing in here that could possibly be construed as
  48. official IBM information.
  49.  
  50.  
  51.  
  52. 2. Assumptions
  53. --------------
  54.  
  55. Throughout this document I have assumed that the IAK software has been
  56. installed under the C:\TCPIP directory.  If you have not installed it in
  57. this directory, you will need to adjust the examples quoting file
  58. specifications to suit your system setup.
  59.  
  60.  
  61.  
  62. 3. Configuring sendmail
  63. -----------------------
  64.  
  65. Sendmail's behaviour is largely defined by a single configuration file
  66. (usually called sendmail.cf), the contents of which resemble a knitting
  67. pattern!  The Warp IAK does not provide a working sendmail configuration
  68. file for use with SMTP mail, so I have included my working configuration
  69. file.  It was derived from the standard configuration provided with IBM
  70. TCP/IP, which in turn was derived from the Berkeley Unix distribution.
  71.  
  72. This kit includes an example configuration file (SENDMAIL.CF) that I use
  73. to allow UltiMail/2 Lite to work as an SMTP client rather than the usual
  74. POP client.  As supplied, the configuration file supports:
  75.  
  76.     o   my official host name: snowyowl.demon.co.uk
  77.  
  78.     o   mail also accepted for other aliases: sos-gate.demon.co.uk,
  79.         snowyowl.com, snowyowl.co.uk & sos.co.uk
  80.  
  81.     o   IBM Warp IAK installed in C:\TCPIP
  82.  
  83.     o   all outgoing mail is sent to post.demon.co.uk for onward routing
  84.         and delivery
  85.  
  86. You will need to edit this file and customise it for your setup.
  87.  
  88. NOTE:   You must use an editor that preserves TAB characters.  Do NOT use
  89.         the EPM or TEDIT editors that come with OS/2 - they expand TABs
  90.         into spaces and will cause the configuration file to be useless.
  91.         The E editor is OK.
  92.  
  93. Search for the string "---EDIT---" in this file and edit the following
  94. line(s) in accordance with the notes in the adjacent comment block.  There
  95. are 10 occurrences of "---EDIT---" to check.  PLEASE make sure that you check
  96. each of them before firing up sendmail.  
  97.  
  98. The changes that you need to make are summarised below:
  99.  
  100.     EDIT---01   define the name of your host (without any domain
  101.                 appended), plus any aliases within the same domain for
  102.                 which you will accept incoming mail.
  103.  
  104.     EDIT---02   define the domain in which your host lives.
  105.  
  106.     EDIT---03   define the "smart" mail relay, to which you send all
  107.                 outgoing mail for onward transmission.
  108.  
  109.     EDIT---04   define the location of the sendmail aliases file.
  110.  
  111.     EDIT---05   define the location of the sendmail help text file.
  112.  
  113.     EDIT---06   define the directory holding mail messages queued for
  114.                 transmission.
  115.  
  116.     EDIT---07   define the location of the sendmail statistics file.
  117.  
  118.     EDIT---08   define any aliases in another domain for which you will
  119.                 accept incoming mail.
  120.  
  121.     EDIT---09   define any aliases in another domain for which you will
  122.                 accept incoming mail.
  123.  
  124.     EDIT---10   define the command used to deliver incoming messages to
  125.                 your local mail program (e.g. UltiMail/2, LAMail).
  126.  
  127. Remember that the sendmail.cf contains notes above each of the "EDIT---"
  128. points, explaining what you need to do.  If they are unclear, please let
  129. me know.
  130.  
  131.  
  132.     3.1  Delivering mail to UltiMail/2
  133.     ----------------------------------
  134.  
  135.     If you use UltiMail/2 as your local mail program, you need to:
  136.     
  137.         o   make sure that you have selected the appropriate "Mlocal"
  138.             line under "EDIT---10" to call the umailer.exe program.
  139.             
  140.         o   copy the configured SENDMAIL.CF to C:\TCPIP\ETC\SENDMAIL.UML.
  141.  
  142.         o   copy SENDMAIL.HF to C:\TCPIP\ETC\SENDMAIL.HF.
  143.         
  144.         o   read the accompanying file ULTIMAIL.TXT
  145.  
  146.  
  147.     3.2  Delivering mail to LAMail
  148.     ------------------------------
  149.  
  150.     If you use LAMail as your local mail program, you need to:
  151.     
  152.         o   make sure that you have selected the appropriate "Mlocal"
  153.             line under "EDIT---10" to call the mail.exe program.
  154.             
  155.         o   copy the configured SENDMAIL.CF to C:\TCPIP\ETC\SENDMAIL.CF.
  156.  
  157.         o   copy SENDMAIL.HF to C:\TCPIP\ETC\SENDMAIL.HF.
  158.         
  159.  
  160.  
  161. 4. The HOSTS file
  162. -----------------
  163.  
  164. When connected to the Internet, you will normally use the Domain Name
  165. Service (DNS) to resolve host names and addresses.  When you try to queue
  166. or deliver a mail message, sendmail attempts to resolve the IP address of
  167. destination host.  If your dial-up link isn't running, sendmail will be
  168. unable to access the DNS to resolve the host and will bounce the message
  169. with an "error 68 - unknown host" message.
  170.  
  171. If the DNS is unavailable, IBM TCP/IP will look in the C:\TCPIP\ETC\HOSTS
  172. file for the host name.  Since you can't reasonably put all possible
  173. destination hosts in your HOSTS file, the best way to avoid this problem
  174. is always to send outgoing mail via a "smart" mail host and make sure
  175. that this host is included in the hosts file.  
  176.  
  177. Make sure that the DV macro is defined in sendmail.cf to send mail via
  178. a "smart" mail host, usually your provider's mail host, and make sure
  179. that this host is defined in the HOSTS file.  A minimum HOSTS file would
  180. be:
  181.  
  182.     127.0.0.1       localhost
  183.     a.b.c.d         yourhost.your.domain yourhost   # change this line
  184.     w.x.y.z         smart.mail.host                 # change this line
  185.  
  186. For Demon Internet subscribers, I strongly recommend that you route all
  187. outgoing mail via post.demon.co.uk and edit your SENDMAIL.CF and HOSTS
  188. files to contain these entries:
  189.  
  190.     SENDMAIL.CF:
  191.  
  192.         #---EDIT---03---
  193.         DVpost.demon.co.uk
  194.  
  195.     HOSTS:
  196.  
  197.         127.0.0.1       localhost
  198.         158.152.1.72    post.demon.co.uk  post
  199.         158.152.x.y     yourhost.demon.co.uk yourhost   # change this line
  200.  
  201.  
  202.  
  203. 5. Sendmail aliases
  204. -------------------
  205.  
  206. Sendmail supports an external alias file to allow redirection of SMTP mail.
  207. By default, the alias file is C:\TCPIP\ETC\ALIASES and is in the following
  208. format:
  209.  
  210.     #
  211.     # Comment lines begin with hashes
  212.     #
  213.     alias:      real-address
  214.     alias:      real-1,real-2
  215.  
  216. The alias must be a local name (i.e. no "@" in the name), but the
  217. real-address part can be non-local.  Aliases are not case-sensitive, but
  218. aliases referenced by other aliases MUST be lower case.  You can use the
  219. aliases file to ensure that incoming mail is routed to a single mailbox:
  220.  
  221.     # Alias file
  222.     postmaster:         kempson
  223.     root:               kempson
  224.     MAILER-DAEMON:      kempson
  225.     help:               kempson,smith
  226.  
  227. If you are using your dial-up machine as a mail gateway between a local
  228. network and the Internet, the alias file provides a convenient means of
  229. forwarding incoming mail to the internal network users.  It's a good idea
  230. to alias postmaster (which every Internet host must support) to your
  231. normal e-mail address.
  232.  
  233. For example, Internet mail to snowyowl.com users will arrive via the
  234. PPP/SLIP connection and then could be forwarded to systems on the
  235. internal network by using an alias file like:
  236.  
  237.     # Alias file
  238.     postmaster:         kempson
  239.     help:               kempson,smith
  240.     kempson:            kempson@host1.snowyowl.com
  241.     jones:              jones@host2.snowyowl.com
  242.     smith:              smith@host2.snowyowl.com
  243.  
  244. When sending out mail, the user systems should ensure that the "Reply-To"
  245. address is set to that of the dial-up gateway:
  246.  
  247.     Reply-to: John Smith <smith@snowyowl.com>
  248.  
  249. and that the local machines forward their mail to the dial-up gateway for
  250. onward delivery.
  251.  
  252. For Unix users, there is no equivalent to the "newaliases" or "sendmail -bi"
  253. commands to build an indexed database of aliases - the alias file is read
  254. each time sendmail is started.
  255.  
  256.  
  257.  
  258. 6. Running the sendmail daemon
  259. ------------------------------
  260.  
  261. To receive SMTP mail, your system must be running the sendmail daemon
  262. when the dial-up connection to the Internet is active.  It will listen
  263. for incoming SMTP connections (receiving mail) and will periodically
  264. examine the local mail queue and attempt to send any messages waiting
  265. there.
  266.  
  267. The command used to start the sendmail daemon is:
  268.  
  269.     c:\tcpip\bin\sendmail -Cc:\tcpip\etc\sendmail.uml -d1.1 -bd -q5m
  270.  
  271. where the options mean:
  272.  
  273.     -Cc:\tcpip\etc\sendmail.uml     specify the configuration file 
  274.     -d1.1                           log incoming messages ("-d" generates
  275.                                     *lots* of debugging information)
  276.     -bd                             run in background ('daemon') mode
  277.     -q5m                            check the outgoing queue every 5 minutes
  278.  
  279. You need to start the sendmail daemon *after* the PPP/SLIP connection is
  280. up and running.  If you try to start it beforehand, sendmail will stop
  281. with the error message "TCP/IP not functioning; exit sendmail".
  282.  
  283. A convenient place to start sendmail is in a separate command file that
  284. tests to see if the link is up and running before launching any network
  285. applications.  The file should look something like:
  286.  
  287.     ECHO Waiting for SLIP link to start ...
  288.     slipwait 600
  289.     
  290.     IF ERRORLEVEL 1 GOTO noslip
  291.         ECHO SLIP link is running, starting sendmail ... 
  292.         start /n sendmail -Cc:\tcpip\etc\sendmail.uml -d1.1 -bd -q5m
  293.     
  294.         GOTO exitlabel
  295.     :noslip
  296.         ECHO SLIP not running - no daemons started
  297.     :exitlabel
  298.  
  299. In this example, SLIPWAIT waits for up to 600 seconds to see if the SLIP
  300. connection is running.  If it is, SLIPWAIT exits with an ERRORLEVEL of 0,
  301. otherwise an ERRORLEVEL of 1 indicates that the link has not been
  302. started.
  303.  
  304. The bad news is that SLIPWAIT does not detect when a PPP link has been
  305. successfully established and IBM hasn't provided a PPPWAIT command :-(
  306.  
  307. IBM's sendmail is broadly compatible with the Unix implementations of
  308. sendmail v5.65, but not the newer sendmail v8.  Some of the command line
  309. options available are: -bd, -bt, -C, -d, -d#.#, -q<time>, -f <addr>, -t.
  310. Command line options not available include -ba, -bi, -bm, -bp, -bs, -bv,
  311. -bz, -v.
  312.  
  313.  
  314.  
  315. 7. Testing your sendmail setup
  316. ------------------------------
  317.  
  318. o   make sure that the mail queue directory (C:\TCPIP\ETC\MQUEUE) is
  319.     empty
  320.  
  321. o   delete or rename the SENDMAIL.LOG and SENDMAIL.ERR files in
  322.     C:\TCPIP\ETC
  323.  
  324. o   create a test message file called "LOCAL.TXT" containing these five
  325.     lines:
  326.  
  327.         >To: userid@yourhost.your.domain
  328.         >From: userid@yourhost.your.domain
  329.         >Subject: local test
  330.         >
  331.         >Hello
  332.  
  333.     where ">" denotes the beginning of the line - don't include it!
  334.     
  335. o   make sure that the PPP/SLIP connection is not running and then start
  336.     sendmail to deliver the message with this command (all on *one* line):
  337.     
  338.         sendmail -t -af local.txt
  339.  
  340.     but replace "userid@yourhost.your.domain" with your official e-mail
  341.     address.  
  342.     
  343. o   If the PPP/SLIP connection has never been started since you booted
  344.     the machine, you'll see something like:
  345.     
  346.         IBM OS/2 SENDMAIL VERSION 1.3.6)
  347.         Reading c:\tcpip\etc\sendmail.cf 10
  348.         TCP/IP not functioning; message queued
  349.  
  350.     If you have a look in the mail queue directory (C:\TCPIP\ETC\MQUEUE),
  351.     you should see two files called dfAAxxxx and qfAAxxxx, where xxxx is
  352.     a four digit number.  The file dfAAxxxx contains your message and
  353.     qfAAxxx is the control file that contains the mail headers and other
  354.     information.  It should be in a similar format to this:
  355.  
  356.         P1025
  357.         T791407275
  358.         DdfAA0019
  359.         Suserid@yourhost.your.domain
  360.         Ruserid@yourhost.your.domain
  361.         H?P?return-path: <yourhost.your.domain>
  362.         Hreceived: by yourhost.your.domain
  363.                 (IBM OS/2 SENDMAIL VERSION 1.3.6)/(1.1sos)
  364.             id AA0019; Sun, 5 Feb 95 19:21:15 GMT
  365.         H?D?date: Sun, 5 Feb 95 19:21:15 GMT
  366.         H?F?from: userid@yourhost.your.domain
  367.         H?x?full-name: 
  368.         H?M?message-id: <9502051921.AA0019@yourhost.your.domain>
  369.         Hsubject: local test
  370.  
  371. o   If the PPP/SLIP connection has been started since you booted the
  372.     machine, the TCP/IP stack will still be running and you'll see
  373.     something like:
  374.     
  375.         IBM OS/2 SENDMAIL VERSION 1.3.6)
  376.         Reading c:\tcpip\etc\sendmail.cf 10
  377.         02/05/95 19:32:09 mail delivered from: userid@yourhost.your.domain
  378.  
  379.     If you've already configured your local mailer, it should let you
  380.     know that a mail message has arrived.
  381.  
  382.  
  383.  
  384. 8. Sendmail error codes
  385. -----------------------
  386.  
  387. Sendmail is capable of exiting with a fair number of status values,
  388. nearly all of which indicate an error of some sort.  Both LAMail and
  389. UltiMail/2 report the error number but offer little or no explanation.
  390. The standard Berkeley Unix distribution includes source code for
  391. sendmail, so I've stolen the bits that document the exit status values
  392. (sysexits.c, sysexits.h) and included extracts here.  Naturally, IBM may
  393. have re-interpreted some of the status values or introduced new ones.
  394.  
  395.     Status  Meaning
  396.     ---------------------------------------------------------------------
  397.     0       EX_OK: successful termination.
  398.  
  399.     64      EX_USAGE: sendmail was called incorrectly, e.g. with the
  400.             wrong number of arguments, a bad flag, a bad syntax in a
  401.             parameter etc.
  402.                     
  403.     65      EX_DATAERR: the input data was incorrect in some way.  This
  404.             should only be used for user's data & not system files.
  405.             
  406.             This error commonly occurs when you queue a message for
  407.             delivery after shutting down a dial-up PPP/SLIP connection.
  408.             For some reason, the IBM TCP/IP stack remains loaded and
  409.             sendmail.exe (plus most other applications) think that the
  410.             network is still running.  Sendmail tries to deliver the
  411.             message and naturally fails to make contact with the host at
  412.             the other end and returns error 65 when the transaction times
  413.             out.
  414.  
  415.     66      EX_NOINPUT: an input file (not a system file) did not exist or
  416.             was not readable.  This could also include errors like "No
  417.             message" to a mailer (if it cared to catch it).
  418.  
  419.     67      EX_NOUSER: the user specified did not exist.  This might be
  420.             used for mail addresses or remote logins.
  421.  
  422.     68      EX_NOHOST: the host specified did not exist.  This is used in
  423.             mail addresses or network requests.
  424.  
  425.             At the time of sending the mail message, sendmail tries to
  426.             resolve the IP address of the destination host.  If the
  427.             network is not running, sendmail cannot use the domain name
  428.             service and will only be able to resolve hosts specified in
  429.             the \TCPIP\ETC\HOSTS file.  If the destination host isn't
  430.             specified in the HOSTS file, sendmail will reject your
  431.             message with error 68.
  432.  
  433.             The best way to avoid this is always to send outgoing mail
  434.             via a "smart" mail host and make sure that this host is
  435.             included in the hosts file.
  436.  
  437.     69      EX_UNAVAILABLE: a service is unavailable.  This can occur if
  438.             a support program or file does not exist.  This can also be
  439.             used as a catchall message when something you wanted to do
  440.             doesn't work, but you don't know why.
  441.  
  442.     70      EX_SOFTWARE: an internal software error has been detected.
  443.             This should be limited to non-operating system related errors
  444.             wherever possible.
  445.  
  446.     71      EX_OSERR: an operating system error has been detected.  This
  447.             is intended to be used for such things as "cannot fork",
  448.             "cannot create pipe", or the like.  It includes things like
  449.             getuid returning a user that does not exist in the passwd
  450.             file.
  451.  
  452.     72      EX_OSFILE: some system file (e.g. /etc/passwd, /etc/utmp,
  453.             etc.) does not exist, cannot be opened, or has some sort of
  454.             error (e.g. syntax error).
  455.  
  456.     73      EX_CANTCREATE: a (user specified) output file cannot be
  457.             created.
  458.  
  459.     74      EX_IOERR: an error occurred while doing I/O on some file.
  460.  
  461.     75      EX_TEMPFAIL: temporary failure, indicating something that is
  462.             not really an error.  In sendmail, this means that a mailer
  463.             (e.g.) could not create a connection, and the request should
  464.             be reattempted later.
  465.  
  466.     76      EX_PROTOCOL: the remote system returned something that was
  467.             "not possible" during a protocol exchange.
  468.  
  469.     77      EX_NOPERM: you did not have sufficient permission to perform
  470.             the operation.  This is not intended for file system problems
  471.             (which should use EX_NOINPUT or EX_CANTCREAT) but rather for
  472.             higher level permissions.
  473.  
  474.     78      EX_CONFIG: sendmail detected an error in its configuration
  475.             file (SENDMAIL.CF).
  476.  
  477.  
  478.  
  479. 9. Frequently encountered problems (FEPs)
  480. -----------------------------------------
  481.  
  482. The most common problems encountered with sendmail are summarised below.
  483.  
  484.  
  485. Problem:    After starting sendmail, it immediately exits with the
  486.             message "TCP/IP not functioning; exit sendmail".
  487.  
  488. Reason:     Sendmail doesn't recognise that the TCP/IP is running.  This
  489.             is probably because the PPP/SLIP link is not running.  
  490.             
  491.             There have been some reports that the sendmail.exe supplied
  492.             with Warp cannot detect the TCP/IP stack provided by IBM
  493.             TCP/IP v2.  The solution is apparently to revert to the
  494.             version of sendmail supplied with IBM TCP/IP (it's sendmail
  495.             v1.2.10).
  496.  
  497.  
  498. Problem:    Sendmail produces lots of messages complaining about
  499.             "invalid rewrite rules" when it starts up.
  500.  
  501. Reason:     The sendmail configuration file has been edited by a
  502.             TAB-expanding editor
  503.         
  504.  
  505. Problem:    After sending a mail message, you receive a message from
  506.             MAILER_DAEMON reporting a sendmail error 65.
  507.  
  508. Reason:     Sendmail couldn't connect to the destination host, even
  509.             though it thinks that the network is running.  The mail will
  510.             be queued for transmission later.
  511.  
  512.  
  513. Problem:    After sending a mail message, you receive a message from
  514.             MAILER_DAEMON reporting sendmail error 68.
  515.  
  516. Reason:     Sendmail can't resolve the IP address of the destination
  517.             host, usually because the DNS is unreachable (you're
  518.             off-line) and the host isn't in your HOSTS file.  The message
  519.             will be bounced back to you.
  520.                 
  521.  
  522. Problem:    Sendmail doesn't recognise incoming mail as destined for the
  523.             local host.
  524.         
  525. Reason:     The "Cw" and "Dw" definitions in the configuration file
  526.             (under "---EDIT---01") are usually missing or wrong
  527.  
  528.  
  529. Problem:    Mail arrives but isn't delivered to the local mail program
  530.             for you to read.
  531.         
  532. Reason:     The "Mlocal" line usually specifies the wrong mail program or
  533.             disk + directories
  534.  
  535.  
  536.  
  537. 10. What if it still doesn't work ?
  538. -----------------------------------
  539.  
  540. Unfortunately, there are many things that can go wrong with SMTP mail.  The
  541. clues will usually be found in the log and error files created by sendmail:
  542.  
  543.     C:\TCPIP\ETC\SENDMAIL.ERR
  544.     C:\TCPIP\ETC\SENDMAIL.LOG
  545.     
  546. It is possible to make sendmail create large quantities of debugging
  547. information by starting it with the "-d" option rather than the "-d1.1"
  548. (see section 6).
  549.  
  550. If you contact me for help, be prepared for me to ask you to send me the
  551. files C:\TCPIP\ETC\SENDMAIL.* as a UUencoded ZIP file.
  552.  
  553.  
  554.  
  555. 11. Useful references
  556. --------------------
  557.  
  558. Internet RFCs providing useful information about SMTP services and mail:
  559.  
  560.     RFC-822     Standard for the format of ARPA Internet text messages.
  561.     RFC-1123    Requirements for Internet hosts - application and support.  
  562.  
  563. RFCs are available by anonymous FTP from many sites, including:
  564.  
  565.     flash.bellcore.com:/pub/rfc
  566.     ftp.demon.co.uk:/pub/doc/rfc
  567.     gatekeeper.dec.com:/.3/net/info/rfc
  568.     munnari.oz.au:/rfc
  569.     nic.ddn.mil:/rfc
  570.     sunsite.doc.ic.ac.uk:/pub/rfc
  571.  
  572. "Sendmail" by Bryan Costales with Eric Allman & Neil Rickert.
  573. O'Reilly & Associates Inc.  ISBM 1-56592-056-2.
  574.  
  575.     An authoritative 800 page book on the internals of sendmail and its
  576.     configuration.  This book is a must if you want to understand and
  577.     hack sendmail configuration files, but otherwise it's probably a bit
  578.     too esoteric for general reading.
  579.  
  580. Sendmail source code has been released as part of the Berkeley Unix
  581. distribution.  It contains the authoritative documentation for sendmail,
  582. but it's really only for those who can't afford the sendmail book or find
  583. that it's missing some vital information.  The sendmail source code is
  584. available by anonymous FTP from many sites, including:
  585.  
  586.     ftp.demon.co.uk:/pub/BSD/4.4BSD-Lite/usr/src/usr.sbin/sendmail
  587.  
  588.  
  589.  
  590. 12. Change log
  591. --------------
  592.  
  593.     2.0 [05-Feb-1995] Niel Kempson <snowyowl.co.uk>
  594.         Initial version in the revised format.
  595.  
  596. ********************************* END OF FILE ********************************
  597.